Firebase Auth
Firebase Authentication
全体的な仕組み
auth | JavaScript SDK  |  Firebase
reference
ガイド: Firebase でユーザーを管理する
ログイン状態をみる。observerを使う。(初期化が済んでるかどうかを気にしなくてもよい)
firebase.auth().onAuthStateChanged( (user) => { if(user)...})
ユーザー情報
firebase.auth().currentUser
uiConfig.callbacks のチェック Available Callbacks firebaseui-web/README.md at master · firebase/firebaseui-web
signInSuccessWithAuthResult
success時に呼ばれる。
signInSuccessUrlが設定されていると、そちらが優先される。
parameter
authResult: firebase.auth.UserCredentialと同じsignitureなので、いろいろ情報ある。
redirectUrl: これは、たぶん、signInSuccessUrlが渡される?
cookieベースの認証(clientでsetしてserver側でcheck)をする際に、
認証完了後に、singInSuccessUrlでredirectだとcookieを設定するフローがない。
なので、cookieをsetしてからredirectするようにする。
code: signInSuccessWithAuthResult.js
var uiConfig = {
callbacks: {
signInSuccessWithAuthResult: function (authResult, redirectUrl) {
console.log("success", authResult)
authResult.user.getIdToken(true).then((token) => {
document.cookie = "token=" + token;
window.location.href = "/"
})
return false;
}, //.....
}
tokenをcheckしてみる。以下のurlに tokenを渡してみて、何者か、署名が正しいかが検証できる。
https://oauth2.googleapis.com/tokeninfo?id_token=
バックエンドサーバーで認証する  |  Google Sign-In for Websites  |  Google Developers
claimsの中身
name
picture
iss
aud
auth_time
user_id
sub
iat
exp
email
email_verified
firebase
#Firebase
#Auth